home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.io.Serializable;
-
- public class SizeRequirements implements Serializable {
- public int minimum;
- public int preferred;
- public int maximum;
- public float alignment;
-
- public SizeRequirements() {
- this.minimum = 0;
- this.preferred = 0;
- this.maximum = 0;
- this.alignment = 0.5F;
- }
-
- public SizeRequirements(int var1, int var2, int var3, float var4) {
- this.minimum = var1;
- this.preferred = var2;
- this.maximum = var3;
- this.alignment = var4 > 1.0F ? 1.0F : (var4 < 0.0F ? 0.0F : var4);
- }
-
- public static int[] adjustSizes(int var0, SizeRequirements[] var1) {
- return new int[0];
- }
-
- public static void calculateAlignedPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
- int var5 = (int)((float)var0 * var1.alignment);
- int var6 = var0 - var5;
-
- for(int var7 = 0; var7 < var2.length; ++var7) {
- SizeRequirements var8 = var2[var7];
- int var9 = (int)((float)var8.maximum * var8.alignment);
- int var10 = var8.maximum - var9;
- int var11 = Math.min(var5, var9);
- int var12 = Math.min(var6, var10);
- var3[var7] = var5 - var11;
- var4[var7] = (int)Math.min((long)var11 + (long)var12, 2147483647L);
- }
-
- }
-
- public static void calculateTiledPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
- long var5 = 0L;
- long var7 = 0L;
- long var9 = 0L;
-
- for(int var11 = 0; var11 < var2.length; ++var11) {
- var5 += (long)var2[var11].minimum;
- var7 += (long)var2[var11].preferred;
- var9 += (long)var2[var11].maximum;
- }
-
- if ((long)var0 >= var7) {
- expandedTile(var0, var5, var7, var9, var2, var3, var4);
- } else {
- compressedTile(var0, var5, var7, var9, var2, var3, var4);
- }
-
- }
-
- private static void compressedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
- float var10 = (float)Math.min(var3 - (long)var0, var3 - var1);
- float var11 = var3 - var1 == 0L ? 0.0F : var10 / (float)(var3 - var1);
- int var12 = 0;
-
- for(int var13 = 0; var13 < var9.length; ++var13) {
- var8[var13] = var12;
- SizeRequirements var14 = var7[var13];
- int var15 = (int)(var11 * (float)(var14.preferred - var14.minimum));
- var9[var13] = var14.preferred - var15;
- var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
- }
-
- }
-
- private static void expandedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
- float var10 = (float)Math.min((long)var0 - var3, var5 - var3);
- float var11 = var5 - var3 == 0L ? 0.0F : var10 / (float)(var5 - var3);
- int var12 = 0;
-
- for(int var13 = 0; var13 < var9.length; ++var13) {
- var8[var13] = var12;
- SizeRequirements var14 = var7[var13];
- int var15 = (int)(var11 * (float)(var14.maximum - var14.preferred));
- var9[var13] = (int)Math.min((long)var14.preferred + (long)var15, 2147483647L);
- var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
- }
-
- }
-
- public static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] var0) {
- SizeRequirements var1 = new SizeRequirements();
- SizeRequirements var2 = new SizeRequirements();
-
- for(int var3 = 0; var3 < var0.length; ++var3) {
- SizeRequirements var4 = var0[var3];
- int var5 = (int)(var4.alignment * (float)var4.minimum);
- int var6 = var4.minimum - var5;
- var1.minimum = Math.max(var5, var1.minimum);
- var2.minimum = Math.max(var6, var2.minimum);
- var5 = (int)(var4.alignment * (float)var4.preferred);
- var6 = var4.preferred - var5;
- var1.preferred = Math.max(var5, var1.preferred);
- var2.preferred = Math.max(var6, var2.preferred);
- var5 = (int)(var4.alignment * (float)var4.maximum);
- var6 = var4.maximum - var5;
- var1.maximum = Math.max(var5, var1.maximum);
- var2.maximum = Math.max(var6, var2.maximum);
- }
-
- int var8 = (int)Math.min((long)var1.minimum + (long)var2.minimum, 2147483647L);
- int var11 = (int)Math.min((long)var1.preferred + (long)var2.preferred, 2147483647L);
- int var14 = (int)Math.min((long)var1.maximum + (long)var2.maximum, 2147483647L);
- float var7 = 0.0F;
- if (var8 > 0) {
- var7 = (float)var1.minimum / (float)var8;
- var7 = var7 > 1.0F ? 1.0F : (var7 < 0.0F ? 0.0F : var7);
- }
-
- return new SizeRequirements(var8, var11, var14, var7);
- }
-
- public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] var0) {
- SizeRequirements var1 = new SizeRequirements();
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- SizeRequirements var3 = var0[var2];
- var1.minimum = (int)Math.min((long)var1.minimum + (long)var3.minimum, 2147483647L);
- var1.preferred = (int)Math.min((long)var1.preferred + (long)var3.preferred, 2147483647L);
- var1.maximum = (int)Math.min((long)var1.maximum + (long)var3.maximum, 2147483647L);
- }
-
- return var1;
- }
-
- public String toString() {
- return "[" + this.minimum + "," + this.preferred + "," + this.maximum + "]@" + this.alignment;
- }
- }
-